package com.xiang.api.entity;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xiang.api.Util;

import lombok.Data;

/** 前端分页数据类型 */
@Data
public class FrontDataPage {
  /** 数据 */
  public JSONArray data;
  /** 最后一页?总页数 */
  public int last_page;
  /** 分页大小 */
  public int per_page;
  /** 数据总数 */
  public int total;

  /** 当前页 */
  public int current;
  /** 总页数 */
  public int pages;
  /** 分页大小 */
  public int size;

  public FrontDataPage(JSONObject pagesJson) {
    data = pagesJson.getJSONArray("records");
    if (data == null) {
      data = Util.toArray("[]");
    }
    pages = last_page = pagesJson.getIntValue("pages");
    size = per_page = pagesJson.getIntValue("size");
    total = pagesJson.getIntValue("total");
    current = pagesJson.getIntValue("current");
  }

  public FrontDataPage(Page<Object> pagesData) {
    data = Util.toArray(Util.toJString(pagesData.getRecords()));
    if (data == null) {
      data = Util.toArray("[]");
    }
    pages = last_page = Util.long2int(pagesData.getPages());
    size = per_page = Util.long2int(pagesData.getSize());
    total = Util.long2int(pagesData.getTotal());
    current = Util.long2int(pagesData.getCurrent());
  }
}
